package persistence;

import core.exception.SaveException;

/**
 * Interface for the item date access object
 * @author Sabrina
 */
public interface ItemDAO 
{
	/**
	 * Updates the data persistence with a new item
	 * 
	 * @param ItemDTO the DTO with the item's info
	 * @throws Exception if can't add item to data persistence
	 */
	abstract void addItem(ItemDTO dto) throws SaveException;
	
	/**
	 * Updates the data persistence to reflect a change in an item
	 * 
	 * @param ItemDTO the DTO with the item's info
	 * @throws Exception if can't update item in data persistence
	 */
	abstract void updateItem(ItemDTO dto) throws SaveException;
	
	/**
	 * Updates the data persistence to remove an item
	 * 
	 * @param ItemDTO the DTO with the item's info
	 * @throws Exception if can't remove item from data persistence
	 */
	abstract void removeItem(ItemDTO dto) throws SaveException;

}
